package cc.htdf.gwc.forecast.repository;


import java.util.List;
import java.util.Map;

/**
 * Created by JT on 2017/10/9.
 */
public interface StationDataRepository {

    /**
     * 根据发布时间，预报时间段查询成都国家站预报数据
     * @param statioins: 站号
     * @param modelRunDateTime：发布时间, 格式： “YYYYMMDDHH”
     * @param startValidTime：启始预报时间, 格式："yyyy-MM-dd HH:mm:ss"
     * @param endValidTime：结束预报时间, 格式："yyyy-MM-dd HH:mm:ss"
     * @param elements: 要素
     * @return 预报数据
     */
    List<Map<String, Object>> findChengDuStatioinForecastDataByStationsAndModelAndValidTime(List<String> statioins, String modelRunDateTime, String startValidTime, String endValidTime, String elements);


    /**
     * 根据台站，预报时间，以及要素查询预报数据
     * @param stations：站号
     * @param validTime：预报时间 格式："yyyy-MM-dd HH:mm:ss"
     * @param elements：要素
     * @return
     */
    List<Map<String, Object>> findChengDuStatioinForecastDataByStationsAndValidTime(List<String> stations, String validTime, String elements);

    /**
     * 根据发布时间，预报时间段查询成都国家站预报数据
     * @param statioins: 站号
     * @param modelRunDateTime：发布时间, 格式： “YYYYMMDDHH”
     * @param startValidTime：启始预报时间, 格式："yyyy-MM-dd HH:mm:ss"
     * @param endValidTime：结束预报时间, 格式："yyyy-MM-dd HH:mm:ss"
     * @param elements: 要素
     * @return 预报数据
     */
    List<Map<String, Object>> findChengDuData(List<String> statioins, String modelRunDateTime, String startValidTime, String endValidTime, String elements);


    /**
     * 根据台站、要素、发布小时，预报时次查询数据
     *
     * @param station   ：台站号
     * @param elements  ：要素
     * @param modelhour : 发布小时
     * @param times     ： 预报时次， 前多少小时
     * @return
     */
    List<Map<String, Object>> findChengDuDataByStationAndModelHourAndTimes(String station, String elements, String modelhour, String times);
}
